1. Field of the Invention
This invention is in the field of telecommunications, as it relates to interactive, multi-player computer games.
2. Reference to Related Patent Applications
The following co-pending patent applications are related:
U.S. patent application entitled, "AN IMPROVED NETWORK ARCHITECTURE TO SUPPORT REAL-TIME VIDEO GAMES," invented by Steve Perlman, with Ser. No. 08/238,630, filed May 5, 1994 (abandoned). PA0 U.S. patent application entitled, "AN IMPROVED NETWORK ARCHITETURE TO SUPPORT MULTIPLE SITE REAL-TIME VIDEO GAMES," invented by Steve Perlman, with Ser. No. 08/238,477, filed on May 5, 1994, issued as U.S. Pat. No. 5,586,257 on Dec. 17, 1996. PA0 U.S. patent application entitled, "AN IMPROVED MODEM TO SUPPORT MULTIPLE SITE CALL CONFERENCED DATA COMMUNICATIONS," invented by Steve Perlman, with Ser. No. 08/238,456, filed on May 5, 1994, issued as U.S. Pat. No. 5,636,209 on Jun. 3, 1996. PA0 U.S. patent application entitled, "AN IMPROVED NETWORK ARCHITECTURE TO SUPPORT RECORDING AN PLAYBACK OF REAL-TIME VIDEO GAMES," invented by Steve Perlman, with Ser. No. 08/238,303, filed on May 5, 1994, issued as U.S. Pat. No. 5,558,339 on Sep. 24, 1996.
3. Description of Related Art
From the very first video games to those of today, many video games have been designed to be played by two or more players simultaneously. Perhaps the very first video game, "Pong," by Atari.TM., Inc. involved two simultaneous players, each player located near the game console and controlling one of the "paddles" to control an object on the screen.
Today, two decades later, several of the "Top Ten" home video games are designed for two or more players. Among them are "Mortal Kombat.TM." distributed by Acclaim.TM., Inc. and "John Madden Football.TM." by Electronic Arts.TM., Inc., both for the Sega Genesis.TM. video game system and the Super Nintendo Entertainment System.TM. video game system. Like the Pong game of long ago, these new games involve two or more players located near the game console and each holding a "game controller."
In recent years there have also been several examples of two-player games that are played remotely through a phone line without both players being in the same location. Examples of such games are "F-14 Cobra.TM.", which is designed for Macintosh.TM. computers equipped with a modem and "Ballz.TM." by PF Magic.TM., Inc. which is designed for Sega Genesis video game systems equipped with a modem. Such games function by having one copy of the game being played running on a game console (or personal computer) at each location. Synchronization information is passed along with game controller data through the modem (along with possibly additional sound or data), and the game runs synchronously at the two locations. Even though the two players may be hundreds or thousands of miles away, the game plays essentially as it would if the two players were in the same room.
It is important to make a distinction here between two types of remote multi-player games, "twitch" games and "non-real-time" games. Twitch games are games that require split-second game control by players and cannot tolerate arbitrary communication latencies or delays. Twitch games are by far the most popular category of video games--typically all Top Ten games are twitch games--and include games such as "Mortal Kombat.TM., "John Madden Football.TM.," "Sonic the Hedgehog.TM.," and "Super Mario Brothers.TM.." Typically, twitch games require less than 100 millisecond communications latency (i.e. delay for a player's action to take effect on the screen) for the games to be playable. Twitch games usually can not tolerate varying delays in communications latency.
Non-real-time games are games that are possible to play with substantial communications latency and with varying communications latency. Obvious games in this genre are "strategy" games such a chess and backgammon, but there are also moderate action games such as adventure games like "Return to Zork.TM." by Activision.TM. or the "King's Quest.TM." series from Sierra On-line.TM.. The AT&T ImagiNation Network.TM. is an on-line service specializing in such non-real-time games. Non-real-time games make up a much smaller market than twitch games.
One would think that with the popularity of multi-player twitch games, on-line services such as the ImagiNation Network.TM. would offer twitch games for their users. However, these services do not offer such games; because, it is not possible to achieve less than 100 milliseconds (msec) latency, or even consistent latency, given the architecture of current public-switched data networks. Because users may be calling in from anywhere in the United States, on-line services such as the ImagiNation Network.TM. lease capacity on data-access networks such as SprintNet.TM..pi.and TymNet.TM.. Such networks provide local dial-up modem pools throughout the United States, and then route large-capacity data lines (such as T1 lines) utilizing wide-area network (WAN) protocols (such as X.25 protocol) into the on-line service's computing facility.
There are substantial (and often unpredictable) latencies through such an architecture. Each modem in the communications chain introduces latencies as high as 20 or 30 msec (varying by modem manufacturer and model). The telephone network introduces latencies (although they are minimal within a local calling area). WANs introduce unpredictable latencies (as much as 1.5 seconds round-trip). In addition, the on-line service's computers themselves introduce latencies, typically increasing as the number of active users increases.
As a result, remote multi-player twitch games can only be played through a direct telephone connection of one player to another player, barring a major overhaul (requiring enormous capital investment) of the existing public access data networks. Consequently, on-line services are limited to hosting non-real-time multi-player games.
It should also be noted that public data access networks such as SprintNet.TM. are quite expensive to use, costing up to $6 per hour per user to the service provider. Therefore, remote multi-player games played through an on-line service carry with them an overhead that does not exist when a direct local phone connection is made player-to-player--an overhead that necessitates high usage charges.
Given the popularity of multi-player twitch games, the relative low-cost of modems, and the potential of using the phone network to make an arbitrary pairing of players, one would expect that remote multi-player twitch games would be far more popular. As it turns out, however, without an on-line service hosting many simultaneous users, it is rather difficult to find a partner to play a multi-player game. The reason for this can be easily understood: If a given Player A sits down to play a remote multiplayer game, the following conditions must be true in order for Player A to find a second Player B. First, Player A must know Player B's phone number (or vice-versa). Secondly, Player B must be available and willing to play the game at the same time. Thirdly, Player B must have the same video game and, most likely, the same video game system (or personal computer).
In addition, the following conditions are also desirable for a satisfying game between remote players. First, Player B should be at a comparable skill level of Player A. Secondly, if there are multiple pairings of players (as in a tournament), there should be some means of keeping track of each player's standing.
Clearly, when multiple players are hosted by an on-line service such as the ImagiNation Network.TM., all of the conditions listed above can be addressed. Because there are thousands of users, at any given time, there is always someone available to play a given multi-player game. Because users are already dialed up, there is no need for a Player A to know a Player B's phone number (an important privacy issue). Also, it is not difficult for an on-line service to maintain statistics about players, so it easy to provide player ranking and matching of comparable skill players.
Unfortunately, as discussed previously, it is not currently possible to play twitch games through existing on-line services. Consequently, there is no easy and reliable way to satisfy the conditions listed above for matching players of a remote multi-player twitch game.
A possible solution would be to post a list of all players interested in a given remote multi-player game on an electronic bulletin board of an on-line service or in a publication. The list would include for each player a phone number, the times of the day desired for play, the game to play, the game machine the game is played on, and possibly a skill level and previous play statistics. There are clear difficulties with such an approach: 1) Phone number: For reasons of privacy, many users would not want to publish their phone numbers. This is especially true of parents of children. Children make up the bulk of video game players. Also, most users would want to limit their outgoing calls to local calls so as to minimize charges. However, there is no simple way to know if a call is a local call. Many calls within the same area code (such as 415) are long distance and many calls between areas codes (e.g. south 415 and north 408) are local. Even if a city is listed along with a phone number, people may not know for sure if that particular city counts as a long distance call. When people get involved playing twitch video games, hours can fly by--even a small long distance fee can become substantial. 2) Time to play: Just because a player lists a certain time to be available for play, there is no guarantee that the player will actually be there at the listed time. Exigencies come up, people (especially kids) forget, other household members tie up the phone. The phone could easily ring off the hook with would-be players trying to call in. Alternatively, even if a player is available as promised, there could be many would-be players attempting to call in to play. Callers might be disappointed with a busy signal, or worse, they might repeatedly activate Call Waiting, constantly interfering with the modem connection established with the first player to successfully call in. 3) Skill level. Because it is up to would-be players to call in themselves, there is no way to enforce comparable skill-level play. Skilled players could call up weak players just to easily defeat them, which could be a frustrating experience for the weak player. 4) Statistics: Because players would be relied upon to update their own statistics, there is no easy way to verify claims or resolve disputes between players. It would be very difficult to manage tournament play. And even in a non-tournament scenario, it would very difficult to provide a reliable means for matching up players of comparable skill levels since the actual results of games would always be in question. 5) Hardware compatibility: Modems are available from many different manufacturers, and each manufacturer has many different models. These different modems all exhibit varying behaviors, some significantly different, some subtly different. Furthermore, in the case of personal computers, there are significant differences between models and configurations of personal computers. Given these variables, it is often the case that users fail to get their modems to connect to other modems without technical assistance. Clearly, home-to-home dialing from one modem to another is fraught with potential difficulties. And without customer services (such as those provided by on-line services) there will be a high degree of user frustration.
To date, there are no mechanisms to provide automatic linking of users playing remote, multi-player twitch games, assuring inexpensive, private, convenient, and reliable connection. The invention described herein provides such an apparatus and method.